/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package unp.sisEventos.dao.imp;

import com.ibatis.sqlmap.client.SqlMapClient;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.logging.Level;
import java.util.logging.Logger;
import org.springframework.orm.ibatis.support.SqlMapClientDaoSupport;
import unp.sisEventos.dao.itf.EventoDaoService;
import unp.sisEventos.pojos.Evento;
import unp.sisEventos.pojos.TipoEvento;

/**
 *
 * @author AngelAndres
 */
public class EventoDaoImp extends SqlMapClientDaoSupport implements EventoDaoService {

    @Override
    public Evento getEvento(int id) {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    @Override
    public ArrayList<Evento> getAllEvento() {
        ArrayList<Evento> respuesta = null;
        try {
            SqlMapClient SqlMapClient = getSqlMapClient();
            respuesta = (ArrayList<Evento>) SqlMapClient.queryForList("EventoNS.getEventoAllIbt");
        } catch (SQLException ex) {
            Logger.getLogger(UsuarioDaoServicioImp.class.getName()).log(Level.SEVERE, null, ex);

        }
        return respuesta;
    }

    @Override
    public boolean insertarEvento(Evento evento) {
        boolean respuesta = false;
        try {
            SqlMapClient SqlMapClient = getSqlMapClient();
            SqlMapClient.insert("EventoNS.addEventoIbt", evento);
            respuesta = true;
        } catch (SQLException ex) {
            Logger.getLogger(UsuarioDaoServicioImp.class.getName()).log(Level.SEVERE, null, ex);
        }
        return respuesta;
    }

    @Override
    public ArrayList<TipoEvento> getAllTipoEvento() {
        ArrayList<TipoEvento> respuesta = null;
        try {
            SqlMapClient SqlMapClient = getSqlMapClient();
            respuesta = (ArrayList<TipoEvento>) SqlMapClient.queryForList("EventoNS.getTipoEventoAllIbt");
        } catch (SQLException ex) {
            Logger.getLogger(UsuarioDaoServicioImp.class.getName()).log(Level.SEVERE, null, ex);

        }
        return respuesta;
    }

    @Override
    public boolean deleteEvento(HashMap<String,Integer> map) {
        boolean respuesta = false;
        try {
            SqlMapClient SqlMapClient = getSqlMapClient();
            SqlMapClient.delete("EventoNS.delEventoIbt", map);
            respuesta = true;
        } catch (SQLException ex) {
            Logger.getLogger(UsuarioDaoServicioImp.class.getName()).log(Level.SEVERE, null, ex);
        }
        return respuesta;
    }

    @Override
    public boolean updateEvento(Evento evento) {
        boolean respuesta = false;
        try {
            SqlMapClient SqlMapClient = getSqlMapClient();
            SqlMapClient.update("EventoNS.uptEventoIbt", evento);
            respuesta = true;
        } catch (SQLException ex) {
            Logger.getLogger(UsuarioDaoServicioImp.class.getName()).log(Level.SEVERE, null, ex);
        }
        return respuesta;
    }
}
